home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Super Shareware Collection
/
Super Shareware Collection.iso
/
os_2
/
epmgcc10.zip
/
EPRO.DOC
< prev
next >
Wrap
Text File
|
1994-01-30
|
5KB
|
123 lines
EditProject Version 0.60
Makefile maintenance utility
Bernhard Bablok
January, 1994
Legal stuff:
~~~~~~~~~~~
See the file license.txt.
Requirements:
~~~~~~~~~~~~
EditProject requires VREXX (Visual REXX), a package of external functions adding
"PM"-support to REXX. VREXX is IBM employee written software and available free
of charge from various ftp-sites (look for a file called vrexx2.zip).
Introduction:
~~~~~~~~~~~~
EditProject is a VREXX-script designed to maintain makefiles. It can be used
stand alone or together with EPMGCC, the EPM-interface to gcc. The script
allows you to add and delete files to be included in a project and to specify
compile and link options. Dependencies to non-system include-files are
automatically recognized. The output of EditProject is a makefile to be used
with GNU-make (I use the port available with gcc/2).
Installation:
~~~~~~~~~~~~
Follow the instructions given in the VREXX-package to install VREXX (very
simple). Then, copy epro.cmd to a directory in your PATH. If you made any
changes to your config.sys, reboot your system.
Usage:
~~~~~
Just type epro or epro <filename> at an OS2-prompt. A master menu with
radio buttons pops up. Possible choices:
- Select project Select a makefile. ".emx" is the default extension. Use
".gcc" as the extension for gcc/2. No or any other
extension will have the same effect as ".emx" (important
for the generation of oject-files: EMX generates .o or
.obj files, gcc/2 only .obj files).
- Add files Add source files to the project. If fileA.c has a include
statement like #include "fileB.h", then fileB.h will be
included in the dependencies for fileA.o.
Double click on a file or select "OK" to add a file. Select
"CANCEL" to leave.
The source files are displayed left of a standard file-box.
Since VREXX only knows modal entry-boxes, I have to use an
output-window (without paging support). If many files are
added, they might not show up even though they are added.
Files can only be added once.
- Delete files Displays a listbox with all files belonging to the project.
Pressing "OK" will delete the selected file from the list
of files. Select "CANCEL" to leave.
- Build option Defines debug or production mode as default mode for
builds.
- Compiler options Define global, debug and production options.
- Link options Define link options (like additional files, libraries etc.)
- Save project Write generated makefile to disk. If you stop epro after
changing anything, epro will prompt you if changes should
be saved. Therefore this option is somewhat obsolete.
- Make Invoke make with the current makefile and the build option
in effect.
Limitations:
~~~~~~~~~~~
Due to a bug in VREXX, only one VREXX-script can be run at a time. Under certain
circumstances, VREXX-cleanup doesn't work as expected if a VREXX-script
crashes. In this case the process running vrexx.exe (use PSTAT|FIND /i "vrexx")
has to be killed manually.
At the moment, EditProject supports only the generation of makefiles for
executable files. A later version will include support for archive files (used
with ar), DLLs and PM-applications.
I also plan to write a true PM-application with comparable functionality, but
this will take some time.
Changing the code:
~~~~~~~~~~~~~~~~~
I have not tested EditProject with other resolutions than SVGA. If you have
problems with the size of the add-file box and/or delete-file box, you might try
changing the variables
sources.diff (the space between listed files)
DeleteFiles.hight (sets number of lines in delete-file listbox).
If you don't use gcc or make, you will have to change the variables
EditProject.compiler
EditProject.make
to whatever values necessary (you might also have to change the translation of
'\' to '/' in pathnames, see routine "ExecuteMakeFile" in epro.cmd).
Disclaimer:
~~~~~~~~~~
If you think you have found a genuine bug, or would like to make suggestions,
contributions, or enhancements to this code please drop me a note. Since I have
released this code without charge, I cannot offer a warranty or customer
support.
1/30/94
Bernhard Bablok
D-82256 Fuerstenfeldbruck, Germany
INTERNET: ua302cb@sunmail.lrz-muenchen.de